package cn.kim.edu.info.manager.dao;

import cn.kim.edu.info.manager.domain.Student;

public class StudentDao {
    //创建学生对象
    private static Student[] stuns = new Student[5];

    //添加学生方法
    public boolean addStudent(Student stu) {
        //添加学生到数组 定义变量index =-1 假设数组已全部存满，没有null元素
        int index = -1;
        //遍历数组每一个元素，判断是否是null
        for (int i = 0; i < stuns.length; i++) {
            Student student = stuns[i];
            if (student == null) {
                index = i;
                break;
            }
        }
        //返回是否添加成功的Boolean类型状态
        if (index == -1) {
            return false;
        } else {
            stuns[index] = stu;
            return true;
        }
    }

    //查看学生方法
    public Student[] findAllStudent() {
        return stuns;
    }

    //删除学生方法
    public void deleteStudentById(String delId) {
        //先查找id在数组中索引的位置
        int index = getIndex(delId);
        stuns[index] = null;
    }

    //根基id信息获取在数组中的索引
    public int getIndex(String id) {
        int index = -1;
        for (int i = 0; i < stuns.length; i++) {
            Student stu = stuns[i];
            if (stu != null && stu.getId().equals(id)) {
                index = i;
                break;
            }
        }
        return index;
    }

    //修改学生信息
    public void updateStudent(String updateId, Student newStu) {
        //查找updateid，在容器中索引的位置
        int index = getIndex(updateId);
        stuns[index] = newStu;
    }
}
